package com.wujing.fun.first2demo

/**
 * scala 惰性函数
 *
 * 当函数返回值被声明为lazy时  函数的执行将被延迟 知道我们首次对此取值 该函数才会被执行
 *
 */
object FunctionDemo01 {



  /**
   *  lazy demo  关键字lazy
   *
   * @param args
   */
  def main(args: Array[String]): Unit = {


    // 输出的顺序 使用时才执行

    // lazy 不能修饰var 的类型
    // 在函数能懒加载 在声明一个变量时 如果声明lazy 也会延迟加载
    lazy val res=sum(10,20)
    println("---------------")
    println(res)
  }
  def sum(n1: Int, n2: Int): Int = {
    println("sum 被执行了")
    n1 +n2
  }

}
